iT邦幫忙

2026 iThome 鐵人賽

DAY 22
0
IT Operation

大學生的VirtualBox虛擬機與Ubuntu實戰30天系列 第 22

Day 22|提升操作效率:Shell Alias 自訂快捷指令

  • 分享至 

  • xImage
  •  

在 Linux 開發環境中,許多高頻率操作往往伴隨著冗長或參數複雜的指令。以 Python 虛擬環境為例,每次重新連線或開啟終端機時,均需手動輸入 source .venv/bin/activate,在 Git 版控流程中,也頻繁重複著 git status、git log 等指令。
透過 Shell 提供的 別名(Alias) 機制,能將這些繁瑣指令縮寫為簡短的代稱,不僅降低鍵入錯誤的機率,也能顯著提升終端機的操作流暢度。本篇將介紹 Alias 的運作機制,並實作常用指令的永久配置。


1.暫時別名與永久配置

  • 暫時別名:直接於終端機命令列輸入 alias 縮寫='完整指令'。此設定僅存在於當前的連線階段,一旦終端機關閉或連線中斷,別名即隨之失效。
  • 永久別名:將別名規則寫入 Shell 的啟動設定檔中(如 Bash 的 ~/.bashrc 或 Zsh 的 ~/.zshrc)。每次終端機初始化時均會自動載入,確保跨工作階段的一致性。

2.建立暫時性 Alias
可先透過命令列體驗 Alias 的基本運作方式。
(1)檢視現存別名
在終端機輸入以下指令,檢視當前環境預先載入的所有別名清單:

alias

(2)建立即時別名
嘗試將長路徑指令縮短:

alias cls='clear'
alias gs='git status'

輸入後,即可直接使用 cls 清除螢幕,或以 gs 取代完整的 git status。


3.將別名寫入 Shell 設定檔以達成永久生效
為了避免每次重新登入均需重新定義,需將規則寫入所屬 Shell 的設定檔。
(1)確認當前使用的 Shell

echo $SHELL
  • 輸出為 /bin/zsh:設定檔為 ~/.zshrc
  • 輸出為 /bin/bash:設定檔為 ~/.bashrc

(2)編輯設定檔
以 Nano 開啟對應設定檔(此處以 ~/.zshrc 為例;若使用 Bash 請替換為 ~/.bashrc):

nano ~/.zshrc

移動至檔案最底部,新增自訂別名區塊:

# 檔案瀏覽與通用指令
alias ll='ls -alF'
alias cls='clear'

# Git 操作精簡
alias gs='git status'
alias ga='git add .'
alias gc='git commit -m'
alias gl='git log --oneline -n 10'

# Python 專案與虛擬環境快速切換
alias act='source .venv/bin/activate'
alias goproject='cd ~/projects/demo_project && source .venv/bin/activate'

完成編輯後,按 Ctrl + O ➔ Enter 存檔,按 Ctrl + X 退出。
(3)重新載入設定檔
設定檔修改後,必須重新讀取以套用變更:

source ~/.zshrc

(若為 Bash 請執行 source ~/.bashrc)


4.驗證與操作測試
完成設定載入後,可在終端機測試自訂的快捷指令:
(1)一鍵進入專案並啟用環境:

goproject

終端機會自動跳轉至專案根目錄,並載入 .venv 虛擬環境。
(2)極簡版控檢視:

gs

確認是否能正確印出當前分支與檔案狀態。
https://ithelp.ithome.com.tw/upload/images/20260921/201838869PtJgEEERX.png


5.常見注意事項與除錯

  • 指令命名衝突:
    • 問題:若自訂的別名名稱與 Linux 既有系統指令同名(例如自訂了 alias cp='...'),會直接覆蓋原生物理指令的預設行為。
    • 解法:定義新別名前,可透過 which 名稱 或 type 名稱 確認該單字是否已被系統佔用。
  • 修改設定後指令未生效:
    • 問題:編輯設定檔後直接輸入新指令,出現 command not found。
    • 解法:確認是否已執行 source ~/.zshrc(或重啟終端機),並確認編輯的檔案路徑與實際執行的 Shell 型態一致。

|明日目標:建立高效率的指令快捷機制後,明天將介紹 Linux 排程工具 Crontab 基礎,學習如何讓 Python 腳本於背景排程自動週期性執行。|


上一篇
Day 21|Git 基礎配置與 .gitignore 實戰
系列文
大學生的VirtualBox虛擬機與Ubuntu實戰30天22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言